<?php if ( ! defined("BASEPATH")) exit("No direct script access allowed");

class Vendas_model extends CI_Model {
		
	public function do_insert($dados=NULL, $redir=TRUE){
		if ($dados != NULL):
			$this->db->insert('vendas', $dados);
			return $this->db->insert_id();
		endif;
	}
	
	public function do_update($dados=NULL, $condicao=NULL, $redir=TRUE){
		if ($dados != NULL && is_array($condicao)):
			$this->db->update('vendas', $dados, $condicao);
		endif;
	}
	
	public function do_delete($condicao=NULL, $redir=TRUE){
		if ($condicao != NULL && is_array($condicao)):
			$this->db->delete('vendas', $condicao);
			if ($this->db->affected_rows()>0):
				auditoria('Exclusão de vendas', 'A venda com o id "'.$condicao['id'].'" foi excluída');
				set_msg('msgok', 'Registro excluído com sucesso', 'sucesso');
			else:
				set_msg('msgerro', 'Erro ao excluir registro', 'erro');
			endif;
			if ($redir) redirect(current_url());
		endif;
	}
	
	public function get_all(){
		return $this->db->get('vendas');
	}

	public function get_byid($id=NULL, $campo = 'id'){
		if ($id != NULL):
			$this->db->where($campo, $id);
			$this->db->limit(1);
			return $this->db->get('vendas');
		else:
			return FALSE;
		endif;
	}
	
	public function get_byid_venda($id=NULL, $campo = 'id', $order = 'desc'){
		if ($id != NULL):
			$this->db->where($campo, $id);
			$this->db->order_by('id', $order);
			return $this->db->get('vendas');
		else:
			return FALSE;
		endif;
	}
	
	public function get_by_ultimo(){
		$this->db->order_by('id', 'DESC');
		$this->db->limit(1);
		return $this->db->get('vendas');
		
	}
	
	public function get_by_ultimo_cliente($cliente_id){
		$this->db->where('cliente_id', $cliente_id);
		$this->db->order_by('id', 'DESC');
		$this->db->limit(1);
		return $this->db->get('vendas');
		
	}
	
	public function get_bycliente_id($cliente_id=NULL){
		if ($cliente_id != NULL):
			$this->db->where('cliente_id', $cliente_id);
			return $this->db->get('vendas');
		else:
			return FALSE;
		endif;
	}
	
	public function get_bypedidologar($situacao_envio_id=NULL, $cliente_id=NULL){
		if ($cliente_id != NULL):
			$this->db->where('cliente_id', $cliente_id);
			$this->db->where('situacao_envio_id', $situacao_envio_id);
			return $this->db->get('vendas');
		else:
			return FALSE;
		endif;
	}
	
	public function get_by_venda_dia($dia, $moeda_id){
		$this->db->like('data_venda', $dia, 'both');
		$this->db->like('moeda_id', $moeda_id, 'both');
		return $this->db->get('vendas');
	}
	
	public function get_by_relatorio($pagamento_id, $data_inicio, $data_fim, $campo_ordem, $ordem){
		$this->db->where('pagamento_id', $pagamento_id);
		$this->db->where('data_venda >=', $data_inicio);
		$this->db->where('data_venda <=', $data_fim);  
		$this->db->order_by($campo_ordem, $ordem);
		return $this->db->get('vendas');
	}
	
	public function get_byultimoid(){
		$this->db->select_max('id');
		return $this->db->get('vendas');
	}

	public function get_caixa_despesas($periodo = NULL){
		if($periodo != NULL):
			if($periodo == 'dia'):
				$query = "SELECT sum(despesas.valor) as valor FROM despesas WHERE DAY(despesas.created) = ".date('d');
			elseif($periodo == 'mes'):
				$query = "SELECT sum(despesas.valor) as valor FROM despesas WHERE MONTH(despesas.created) = ".date('m');
			elseif($periodo == 'ano'):
				$query = "SELECT sum(despesas.valor) as valor FROM despesas WHERE YEAR(despesas.created) = ".date('Y');
			endif;
			return $this->db->query($query);
		else:
			return FALSE;
		endif;
	}
	
	public function get_caixa_desenvolvimento($periodo = NULL){
		if($periodo != NULL):
			if($periodo == 'dia'):
				$query = "SELECT sum(vendas_desenvolvimento.valor) as valor FROM vendas_desenvolvimento WHERE DAY(vendas_desenvolvimento.data_vencimento) = ".date('d');
			elseif($periodo == 'mes'):
				$query = "SELECT sum(vendas_desenvolvimento.valor) as valor FROM vendas_desenvolvimento WHERE MONTH(vendas_desenvolvimento.data_vencimento) = ".date('m');
			elseif($periodo == 'ano'):
				$query = "SELECT sum(vendas_desenvolvimento.valor) as valor FROM vendas_desenvolvimento WHERE YEAR(vendas_desenvolvimento.data_vencimento) = ".date('Y');
			endif;
			return $this->db->query($query);
		else:
			return FALSE;
		endif;
	}
	
	public function get_caixa_loja($periodo = NULL, $tipo_venda = NULL){
		if($periodo != NULL && $tipo_venda != NULL):
			if($periodo == 'dia'):
				$query = "SELECT sum(vendas.valor_final_compra) as valor FROM vendas WHERE DAY(vendas.created) = ".date('d')." AND vendas.id_tipos_venda = ".$tipo_venda." AND vendas.statuspagseguro = 3";
			elseif($periodo == 'mes'):
				$query = "SELECT sum(vendas.valor_final_compra) as valor FROM vendas WHERE MONTH(vendas.created) = ".date('m')." AND vendas.id_tipos_venda = ".$tipo_venda." AND vendas.statuspagseguro = 3";
			elseif($periodo == 'ano'):
				$query = "SELECT sum(vendas.valor_final_compra) as valor FROM vendas WHERE YEAR(vendas.created) = ".date('Y')." AND vendas.id_tipos_venda = ".$tipo_venda." AND vendas.statuspagseguro = 3";
			endif;
			return $this->db->query($query);
		else:
			return FALSE;
		endif;
	}
	
	public function get_caixa_servicos($periodo = NULL){
		if($periodo != NULL):
			if($periodo == 'dia'):
				$query = "SELECT sum(servicos.valor) as valor FROM servicos WHERE DAY(servicos.data) = ".date('d')." AND servicos.situacao_pagamento = 3";
			elseif($periodo == 'mes'):
				$query = "SELECT sum(servicos.valor) as valor FROM servicos WHERE MONTH(servicos.data) = ".date('m')." AND servicos.situacao_pagamento = 3";
			elseif($periodo == 'ano'):
				$query = "SELECT sum(servicos.valor) as valor FROM servicos WHERE YEAR(servicos.data) = ".date('Y')." AND servicos.situacao_pagamento = 3";
			endif;
			return $this->db->query($query);
		else:
			return FALSE;
		endif;
	}
		
}

/* End of file vendas_model.php */
/* Location: ./application/models/vendas_model.php */